type Merge1<T> = {
  [K in keyof T]: T[K];
};

type PartialByKeys<T, K = keyof T> = Merge1<
  {
    [P in keyof T as P extends K ? P : never]?: T[P];
  } & {
    [P in keyof T as P extends K ? never : P]: T[P];
  }
>;

interface User {
  name: string;
  age: number;
  address: string;
}
type Pbk = PartialByKeys<User>;
